package com.srcptit.java.training.kienbd.btvn1;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.StringTokenizer;

public class Bai2Demsotu {
        public static void main(String args[]) throws IOException {
            // Sử dụng Buffered đọc file.
            BufferedReader bufr = new BufferedReader(new FileReader("data2.txt"));   
            
            //Kiểm tra ngoại lệ    
            try {
                // Kiểm tra file trống.
                if( bufr.ready()==false )    throw new myEx1();// Bắt lỗi file trống     
                
                // Đọc dữ liệu từ file.
                String dataout = bufr.readLine();
                
                // Kiểm tra Xâu rỗng.
                if( dataout==null )          throw new myEx2();//Bắt lỗi xâu rỗng.
                System.out.println("Xâu trong file : "+dataout);
                
                // Đếm số từ của Xâu.
                NumberWord(dataout);
                
                // Đóng phương thức đọc file.
                bufr.close(); 
              }catch(myEx1 e){
                System.out.println("Error! File is empty.");
              }catch(myEx2 e){
                System.out.println("Error! String is empty.");
              }catch(Exception e){
                System.out.println("Error!");
              }             
        } 
        static void NumberWord(String Question) throws IOException{
            // Sử dụng Buffered ghi file.
            BufferedWriter bufw = new BufferedWriter(new FileWriter("ketqua2.txt"));          
            
            // Use StringTokenizer           
            StringTokenizer stk = new StringTokenizer(Question," ",false);
            
            bufw.write("So tu trong xau : ");
            bufw.write(48+stk.countTokens());
            
            // Đóng phương thức ghi file.
            bufw.close(); 
        }
}

